home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
351-375
/
373
/
multiplot
/
source
/
mplot_src
/
src.zoo
/
physio.h
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-02
|
50KB
|
1,192 lines
#include <graphics/display.h>
#include <libraries/dosextens.h>
#include <libraries/diskfont.h>
#include <exec/exec.h>
#include <intuition/intuitionbase.h>
#include <graphics/regions.h>
#include <devices/keymap.h>
#include <stdio.h>
#include <dos.h>
#include <workbench/startup.h>
#include <graphics/gfxmacros.h>
#include <graphics/gfxbase.h>
#include <math.h>
#include "struct.h"
#include "plot.h"
extern int MAXVERT;
extern int MAXHORIZ;
extern int XMAXP;
extern int XMINP;
extern int YMAXP;
extern int YMINP;
extern int TMARGIN;
extern int BMARGIN;
extern int CALC_XMIN;
extern struct PlotRegion *FullReg;
extern USHORT chip WaitSprite[];
struct Window *OpenWindow();
struct InputEvent *Intuition();
struct Screen *OpenScreen();
int WrtPlt();
struct RastPort *rp;
struct ViewPort *vp;
struct Window *window;
struct IntuiMessage *msg;
struct Screen *screen;
struct NewScreen newscreen = {
0,0, /* start pos.*/
MaxHORIZ,MaxVERT,4, /* width height depth (4 bit planes) */
2,1, /* detail pen, block pen */
HIRES | LACE, /* viewing mode (640x400 interlaced) */
CUSTOMSCREEN, /* screen type */
NULL, /* font */
"MultiPlot XLNc © AG Baxter & T Mooney 1987 - 1990 ",
NULL /* gadget pointer */
};
struct NewWindow newwindow = {
0,0, /* Starting corner */
MaxHORIZ,MaxVERT, /* Width, height */
1,14, /* detail, block pens */
RAWKEY | MENUPICK | MOUSEMOVE | MOUSEBUTTONS, /* IDCMP flags */
BACKDROP | ACTIVATE | BORDERLESS | NOCAREREFRESH | REPORTMOUSE,
NULL, /* Pointer to first gadget */
NULL, /* Pointer to checkmark */
NULL, /* title */
NULL, /* screen pointer */
NULL, /* bitmap pointer */
0,0,0,0, /* sizing limits */
CUSTOMSCREEN /* type of screen */
};
char Def_file[150];
extern char StartDir[150];
struct IntuiText LogFitText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Exponential Fit", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem LogFit = {
NULL, /* next MenuItem structure */
0,30, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&LogFitText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_LOGFIT 3
struct IntuiText LineFitText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Linear Fit", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem LineFit = {
&LogFit, /* next MenuItem structure */
0,20, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&LineFitText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_LINEFIT 2
struct IntuiText SmoothText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Smooth Data Set...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Smooth = {
&LineFit, /* next MenuItem structure */
0,10, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&SmoothText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_SMOOTH 1
struct IntuiText SortText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Sort Data Set", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Sort = {
&Smooth, /* next MenuItem structure */
0,0, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&SortText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_SORT 0
struct Menu Functions = {
NULL, /* next Menu structure */
320,0, /* XY origin of Menu hit box relative to screen TopLeft */
95,0, /* Menu hit box width and height */
MENUENABLED, /* Menu flags */
"Functions", /* text of Menu name */
&Sort /* MenuItem linked list pointer */
};
#define M_FUNCTIONS 4
struct IntuiText MTextST = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Screen Title", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem ScreenTitle = {
NULL, /* next MenuItem structure */
0,60, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MTextST, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'U', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_SCREENTITLE 6
struct IntuiText MText1b = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Save", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem SaveColours = {
NULL, /* next SubItem structure */
77,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
92,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText1b, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_SAVECOL 1
struct IntuiText MText1a = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Alter...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem AlterColours = {
&SaveColours, /* next MenuItem structure */
77,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
92,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText1a, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_ALTERCOL 0
struct IntuiText MText1 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Palette »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Palette = {
&ScreenTitle, /* next MenuItem structure */
0,50, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText1, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&AlterColours, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_PALETTE 5
struct IntuiText ErrorBarsText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Error Bars", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem ErrorBars = {
&Palette, /* next MenuItem structure */
0,40, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&ErrorBarsText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'E', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_ERRBARS 4
struct IntuiText RMarginText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Right Margin", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem RMargin = {
&ErrorBars, /* next MenuItem structure */
0,30, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&RMarginText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'M', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_RMARGIN 3
struct IntuiText MText2c = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" None", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem NoAxes = {
NULL, /* next MenuItem structure */
77,26, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFC, /* each bit mutually-excludes a same-level Item */
(APTR)&MText2c, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_NOAXES 2
struct IntuiText MText2b = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Box", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem BoxAxes = {
&NoAxes, /* next MenuItem structure */
77,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFD, /* each bit mutually-excludes a same-level Item */
(APTR)&MText2b, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'B', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_BOXAXES 1
struct IntuiText MText2a = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" X and Y", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem StemNleaf = {
&BoxAxes, /* next MenuItem structure */
77,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFE, /* each bit mutually-excludes a same-level Item */
(APTR)&MText2a, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'Y', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_STEMNLEAF 0
struct IntuiText MText2 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Axes »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Axes = {
&RMargin, /* next MenuItem structure */
0,20, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText2, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&StemNleaf, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_AXES 2
struct IntuiText MText3c = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" None", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem None = {
NULL, /* next MenuItem structure */
77,26, /* XY of Item hitbox relative to TopLeft of parent hitbox */
110,10, /* hit box width and height */
CHECKIT+ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFC, /* each bit mutually-excludes a same-level Item */
(APTR)&MText3c, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_NONE 2
struct IntuiText MText3b = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Tics", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Tics = {
&None, /* next MenuItem structure */
77,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
110,10, /* hit box width and height */
CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFD, /* each bit mutually-excludes a same-level Item */
(APTR)&MText3b, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'T', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_TICS 1
struct IntuiText MText3a = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Grid", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Grid_si= {
&Tics, /* next MenuItem structure */
77,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
110,10, /* hit box width and height */
CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFE, /* each bit mutually-excludes a same-level Item */
(APTR)&MText3a, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'G', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_GRID 0
struct IntuiText MText3 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Grid »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Grid = {
&Axes, /* next MenuItem structure */
0,10, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText3, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&Grid_si, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_GRID 1
struct IntuiText MText4 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Cross Hair", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Crosshair = {
&Grid, /* next MenuItem structure */
0,0, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText4, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'L', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_CROSSHAIR 0
struct Menu Options = {
&Functions, /* next Menu structure */
240,0, /* XY origin of Menu hit box relative to screen TopLeft */
80,0, /* Menu hit box width and height */
MENUENABLED, /* Menu flags */
"Options", /* text of Menu name */
&Crosshair /* MenuItem linked list pointer */
};
#define M_OPTIONS 3
struct IntuiText MText7 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Both Locks Off", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem LocksOff = {
NULL, /* next SubItem structure */
77,36, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText7, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_LOCKSOFF 3
struct IntuiText MText7a = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Both Locks On", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem LocksOn = {
&LocksOff, /* next SubItem structure */
77,26, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText7a, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_LOCKSON 2
UBYTE YText[]=" Y Region";
struct IntuiText MText8 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
YText, /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Yregion = {
&LocksOn, /* next SubItem structure */
77,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+CHECKIT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText8, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_YREGION 1
UBYTE XText[]=" X Region";
struct IntuiText MText9 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
XText, /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Xregion = {
&Yregion, /* next SubItem structure */
77,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+CHECKIT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText9, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_XREGION 0
struct IntuiText MText10 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Locks »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Locks = {
NULL, /* next MenuItem structure */
0,40, /* XY of Item hitbox relative to TopLeft of parent hitbox */
170,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText10, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&Xregion, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_LOCKS 4
struct IntuiText MText5 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"ReDefine Plot...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Gethowto = {
&Locks, /* next MenuItem structure */
0,30, /* XY of Item hitbox relative to TopLeft of parent hitbox */
170,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText5, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'D', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_GETHOWTO 3
struct IntuiText MText6 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Redraw", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Redraw = {
&Gethowto, /* next MenuItem structure */
0,20, /* XY of Item hitbox relative to TopLeft of parent hitbox */
170,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText6, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'R', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_REDRAW 2
struct IntuiText MText11 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Full Plot", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Fullplot = {
&Redraw, /* next MenuItem structure */
0,10, /* XY of Item hitbox relative to TopLeft of parent hitbox */
170,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText11, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'F', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_FULLPLOT 1
struct IntuiText MText12b = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Slide", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Slide = {
NULL, /* next MenuItem structure */
77,26, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+COMMSEQ+ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFC, /* each bit mutually-excludes a same-level Item */
(APTR)&MText12b, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'^', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_SLIDE 2
struct IntuiText MText12a = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Zoom", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Zoom = {
&Slide, /* next MenuItem structure */
77,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+COMMSEQ+ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFD, /* each bit mutually-excludes a same-level Item */
(APTR)&MText12a, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'#', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_ZOOM 1
struct IntuiText MText12 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
" Select", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Select = {
&Zoom, /* next MenuItem structure */
77,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
CHECKIT+COMMSEQ+ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0xFFFE, /* each bit mutually-excludes a same-level Item */
(APTR)&MText12, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'!', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_SELECT 0
struct IntuiText MText13 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Mouse Action »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem MAction = {
&Fullplot, /* next MenuItem structure */
0,0, /* XY of Item hitbox relative to TopLeft of parent hitbox */
170,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText13, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&Select, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_MACTION 0
struct Menu Actions = {
&Options, /* next Menu structure */
160,0, /* XY origin of Menu hit box relative to screen TopLeft */
80,0, /* Menu hit box width and height */
MENUENABLED, /* Menu flags */
"Actions", /* text of Menu name */
&MAction /* MenuItem linked list pointer */
};
#define M_ACTIONS 2
struct IntuiText AddTextText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Add Text...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem AddText = {
NULL, /* next MenuItem structure */
0,50, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&AddTextText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'A', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_ADDTEXT 5
struct IntuiText DeleteText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Delete", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Delete = {
&AddText, /* next MenuItem structure */
0,40, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&DeleteText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_DELETE 4
struct IntuiText PasteText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Paste", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Paste = {
&Delete, /* next MenuItem structure */
0,30, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&PasteText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'V', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_PASTE 3
struct IntuiText CopyText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Copy", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Copy = {
&Paste, /* next MenuItem structure */
0,20, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&CopyText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'C', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_COPY 2
struct IntuiText CutText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Cut", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Cut = {
&Copy, /* next MenuItem structure */
0,10, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&CutText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'X', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_CUT 1
struct IntuiText UndelText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"UnDelete", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem UnDelete = {
&Cut, /* next MenuItem structure */
0,0, /* XY of Item hitbox relative to TopLeft of parent hitbox */
140,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&UndelText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'Z', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_UNDEL 0
struct Menu Edit = {
&Actions, /* next Menu structure */
80,0, /* XY origin of Menu hit box relative to screen TopLeft */
80,0, /* Menu hit box width and height */
MENUENABLED, /* Menu flags */
"Edit", /* text of Menu name */
&UnDelete /* MenuItem linked list pointer */
};
#define M_EDIT 1
struct IntuiText MText14 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Quit", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Quit = {
NULL, /* next MenuItem structure */
0,40, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText14, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'Q', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_QUIT 4
struct IntuiText MText15 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Print", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Print = {
&Quit, /* next MenuItem structure */
0,30, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText15, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'P', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_PRINT 3
struct IntuiText SaveDataText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Data...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem SaveData = {
NULL, /* next SubItem structure */
65,56, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&SaveDataText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'W', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_SAVEDAT 5
struct IntuiText MText16 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"IntroCAD...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Introcad = {
&SaveData, /* next SubItem structure */
65,46, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText16, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'N', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_ICAD 4
struct IntuiText MText17 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"mCAD...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Mcad = {
&Introcad, /* next SubItem structure */
65,36, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText17, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_MCAD 3
struct IntuiText MText18 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Draw...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Plot = {
&Mcad, /* next SubItem structure */
65,26, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText18, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'K', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_DRAW 2
struct IntuiText MText19 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"HPGL...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Hplg = {
&Plot, /* next SubItem structure */
65,16, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText19, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'H', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_HPGL 1
struct IntuiText MText20 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"ILBM...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Iff = {
&Hplg, /* next SubItem structure */
65,6, /* XY of Item hitbox relative to TopLeft of parent hitbox */
130,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText20, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'I', /* alternate command-key */
NULL, /* no SubItem list for SubItems */
MENUNULL /* filled in by Intuition for drag selections */
};
#define SI_IFF 0
struct IntuiText MText21 = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Save as »", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Saveas = {
&Print, /* next MenuItem structure */
0,20, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&MText21, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
NULL, /* alternate command-key */
&Iff, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_SAVEAS 2
struct IntuiText SaveText = {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Save", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem Save = {
&Saveas, /* next MenuItem structure */
0,10, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&SaveText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'S', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_SAVE 1
struct IntuiText OpenText= {
3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
0,0, /* XY origin relative to container TopLeft */
NULL, /* font pointer or NULL for default */
"Open...", /* pointer to text */
NULL /* next IntuiText structure */
};
struct MenuItem OpenFile = {
&Save, /* next MenuItem structure */
0,0, /* XY of Item hitbox relative to TopLeft of parent hitbox */
120,10, /* hit box width and height */
ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP, /* Item flags */
0, /* each bit mutually-excludes a same-level Item */
(APTR)&OpenText, /* Item render (IntuiText or Image or NULL) */
NULL, /* Select render */
'O', /* alternate command-key */
NULL, /* SubItem list */
MENUNULL /* filled in by Intuition for drag selections */
};
#define MI_OPEN 0
struct Menu Project = {
&Edit, /* next Menu structure */
0,0, /* XY origin of Menu hit box relative to screen TopLeft */
80,0, /* Menu hit box width and height */
MENUENABLED, /* Menu flags */
"Project", /* text of Menu name */
&OpenFile /* MenuItem linked list pointer */
};
#define M_PROJECT 0